package com.hbnu.collections;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author kittychen
 * @since 2025-10-11 11:14
 */
public class ArrayListDemo {
    public static void main(String[] args) {
        List<String> arrayList = new ArrayList<>();

        // 往集合中添加元素
        arrayList.add("element3");
        arrayList.add("element1");
        arrayList.add("element4");
        arrayList.add("element2");
        arrayList.add("element8");
        arrayList.add("element3");
        System.out.println(arrayList);

        // ArrayList集合中常用方法
        System.out.println(arrayList.size());  // 输出集合大小
        System.out.println(arrayList.isEmpty());  // 判断集合是否为空
        System.out.println(arrayList.contains("element3"));  // 判断集合中是否包含指定元素
        System.out.println(arrayList.indexOf("element3"));  // 获取指定元素在集合中的索引
        System.out.println(arrayList.get(4)); // 获取指定索引位置的元素
        arrayList.set(1, "element5");  // 修改指定索引位置的元素
        System.out.println(arrayList);
        arrayList.add(1, "element6");  // 在指定索引位置插入元素
        System.out.println(arrayList);

        // 遍历集合
        System.out.println("使用普通for循环遍历集合");
        for (int i = 0; i < arrayList.size(); i++) {
            System.out.println(arrayList.get(i));
        }

        System.out.println("使用增强for循环遍历集合");
        for (String element : arrayList) {
            System.out.println(element);
        }

        System.out.println("使用集合迭代器遍历集合");
        Iterator<String> iterator = arrayList.iterator();  // 集合迭代器
        while (iterator.hasNext()) {
            System.out.println(iterator.next());
        }
    }
}
